Some electronic devices consolidate various types of confidential information such as passwords, account numbers, credit card numbers, personal identification numbers for bank accounts, private keys, etc., in one place referred to as a keychain and make them accessible through a master password. The passwords stored in a keychain include passwords for websites, e-mail accounts, file transfer protocol (FTP) servers, wireless networks, encrypted disk images, private keys, certificates, secure notes, etc.
Some electronic devices provide a default keychain, which is unlocked on login by the user's login password. The user can change the password to add security at the expense of the additional steps required to enter the password. When a user accesses any keychain-aware application, the keychain provides the password so the user does not have to type the password. A user can create different keychains to store passwords and confidential information for different purposes, e.g., one for work, one for school, and one for online shopping.
In order to protect the confidential information in a keychain, the keychain or each item in the keychain is encrypted with a key sometimes referred to as class keys. The class keys are then stored in a data structure referred to as a keybag. The keybag can be backed up at a remote storage location such as another computer or on a network such as the Internet. The backup copy can be used to restore the keybag to the device. To maximize the protection of the keybag, the backed up keybag for each device is also encrypted with a unique device identifier (UID) such as advanced encryption standard (AES) key of the device prior to being backed up in the storage outside the device. This protects the keybag of a device to be stolen and used on another device.
FIG. 1 illustrates a system that backs up the keybag of a user device according to prior art. As shown, the keybag (or an encrypted keybag) of user device 1 105 is further encrypted by the UID of device 1 (UID 1) and is sent (as shown by encircled 1) to network 115 for storage in the network storage 120. When user device 1 105 requires retrieving the encrypted keybag, the keybag is sent (as shown by encircled 2) to user device 1 105. User device 1 105 uses its own UID (UID 1) to decrypt the keybag.
As often happens, electronic devices are lost, stolen, or are simply replaced. It is desirable to restore the keybag of a user from one electronic device to another electronic device. However, since the keybag of user device 1 is encrypted with the UID of user device 1, the keybag cannot be decrypted (as shown by encircled 3) by user device 2 110 which has a different UID (UID 2) and does not have access to the UID of device 1.